KICK OFF 2 HACKING v.1.1
------------------------

Thursday, 6 November 2003
Author: Vag
E-mail: vag@greekroms.f2s.com
Translation group: GreekRoms
Web page: www.greekroms.net




1. Table of contents
--------------------

 1. Table of contents
 2. Essential programs and tools
 3. Tables
 4. Changing the alphabet
 5. Editing text
 6. Text as graphics
 7. Pointers
 8. Editing graphics
 9. Web links
10. Credits




2. Essential programs and tools
-------------------------------

To change the alphabet in the rom, you need a tile editor. Currently, only Tile Molester can show the letters in Kick off 2.
To edit the text in the game and for the IFF replacement, you need a hex editor that supports tables, like Thingy32.
For the IFF extraction you only need a hex editor, it doesn't matter if it supports tables. I like Hex Workshop.
You may want a program only for viewing IFF pictures in windows. ACDC supports IFFs, just don't use it for editing because it saves them as large files.
You'll also need ADFView, an astonishing program that is a Windows Explorer extension to support adf files. You'll be able to open adf files in windows explorer as if they were folders and also see adf properties.
You'll need an Amiga emulator, UAE or Fellow.
Finally, you need a graphics editing program that fully supports IFFs. That could be any version of Deluxe Paint. You should run this under the Amiga emulator.
Pen and paper.
Together with this file, come the following files:
6x6.bmp
Characters.bmp
Characters.xls
Kick off 2 GB.tbl








3. Tables
---------

A computer needs a code for text. For example, PCs and the Amiga use the ASCII code.
Kick off 2 uses the ASCII code but with some differences. The letters, the numbers and some other characters have the same values with the ASCII code, but there are some characters that don't.
This means you can edit the text in any hex editor, but you won't be able to use all the characters Kick off 2 supports.
To be able do that, you need to use a hex editor that supports tables, even if you wouldn't replace the Kick off 2 characters with yours.
There are some characters (that are not used in the game) that can't be typed on a PC, so they are not in the english Ko2 table.
I made a file, 'Characters.xls', which shows all characters that Kick off 2 supports that you can print.
(It uses pictures from the original characters, the medium-size alphabet).

For a translation you need the table for the english version which I supply (Kick off 2 GB.tbl) and at least one with the new, modified characters.
The order of the new characters is important for many reasons.
Firstly, not all characters can be typed in the game; secondly, not all of them can be shown while playing a match!
Another reason is compatibility between all versions/translations.




4. Changing the alphabet
------------------------

Kick off 2 has 3 sets of alphabets: Small, medium and large letters which have the same order. The small letters are 6x6 pixels, the medium letters are 8x8 and the large ones 16x8.
These three sets don't have different codes so you can't decide which size will appear in the game. The game itself does that.
So for example, the small A, the medium A and the large A, all have the same code.

To change the alphabet, you have to run Tile Molester and open the Kick off 2 rom. Maximise the Ko2 window and zoom out once.
From the menu select "View -> Codec -> 1 bpp planar".
Also select " View -> Mode -> 2-dimensional".
If you press the arrow keys while pressing the shift key, you can change the size of the part of the rom that you can see.
Increase the width to 64 tiles.
Now you can browse the rom with the arrow keys or page up/down.
If you press Page down several times you'll be able to clearly see the characters.
'Characters.bmp' is a picture of all the characters as shown in Tile Molester.

Generally in a translation of a game, it doesn't matter in what order you put the new characters into the rom, as long as you know this order and make your table accordingly.

In Kick off 2, there are some things to consider.
The Amiga has a keyboard which you can use in Ko2, so there are two ways you could put your new letters. One is to put them in the local language keyaboard layout. That means to say, as if you were using the keyboard to write in the new language.

This is a logical thought but has two major problems:
One is that the files saved with that version won't be compatible with the english ones.
The other is that the english names (if you want to keep english characters and names) won't show during a match!
This is a problem here, as not all characters are shown during a match.

Anyway, the correct way to put the new characters is to replace symbols like !@#$%^.
These symbols can be typed in Ko2 and they also can be shown during a match.

Of course you have to maintain all the english letters, small and capital.
If there are capital letters in your language that are common with the english ones (like in the greek alphabet), then you are lucky.
You don't have to put in these letters, you can use the english ones for both languages!
So you have to find enough symbols that can be typed and shown during a match, to replace them with new letters.

There are two symbols that you shouldn't change: * and -
That's because * is shown in the cup and world cup, when someone wins (and you can't change that).
- is shown in tactics like 4-4-2 (and you can't change that either).

The symbols I had to replace for the greek translation for example, were these:
` # @ $ % ^ ( ) _ + [ ] |
If these are enough, use them. If not, you have to experiment a little to find some more.

There's another thing... If the players' names are written with small letters, they are converted to capital ones during a match!
This is done by the program, you can't do anything about it.
So you need to write everything with capital letters. (Even change the english players' names with capitals).

Ok, if you have decided where to put your new letters, you have to decide which of those symbols you want to keep.
Let's say you replace % but you still want it to exist. No problem, you can replace another (unusable) character with it.
When you have decided about these symbols as well, you are ready to begin editing the alphabet!

First print Characters.xls and write any new characters next to the old ones.
Then you can begin editing with Tile Molester.
The easiest way to do it is to first drag 'n drop the symbols you will replace but want to keep, to their new positions.
Then draw the new letters (the letters of your language) where you want.

After that, you'll be able to use your new letters but you'll have to edit the alphabet again later.




5. Editing text
---------------

Now you are supposed to have your new letters written in the printed page of Characters.xls, next to the original characters.
The values of each letter are written there as well.
You have to make a .tbl file, a table with your new local letters.

Open the english table in Notepad and see how it works.
You have to do the same with your new characters.

There are two ways to make that table and this has to do with the characters that are common in both languages.
Type them as if they are non-english and save your table.
Or type them as english letters and save the table with another name.
It will be easier to write in your language when you use the first one, and easier to write in english when you use the second one, make both.

If the tables are ready, run Thingy32 and load the rom, the english table, and one of your new tables (depends on what language you want to write in).

By pressing "T", you change the table you are currently using.
At this point, you should use the english table, to be able to see the text.

There are many portions of text that need different confrontation.

1) At the beginning of the rom, there is a message written by Oracle:

"Kick-Off 2, cracked by Weetibix from Oracle. Unfortunately, loader-rippers, there is no interesting ones contained in this crack...try next time ha! (Blackhawk & conq.).  This boot-block is NOT a Virus!"

Don't change that. If you do, the game won't load!

2) You may see some filenames like "kickoff2.prg", "ko16.men", etc. You must not change them!

2) You can see some isolated words between the garbage, this includes the names of the referees, "Team A", "Team B", etc.
Generally, you can change them but you are limited to their length.

3) At offset 138FE, you can find many words/phrases, separated by #.
Note that # appears when a value of a character is not included in the table.
The separator you see in this case has the value 00.
If you want to type the separator, don't type #, type it's value.

Hint: you can add this value in your table using a new character.
This will be only for Thingy32, not for Ko2.

Anyway, this part of the text (that includes the players' names) can be changed easily!
You can add characters to a word/phrase as long as you remove it from another phrase.
This is because the size of the whole rom must not change, like the position of anything that comes after that part of the text.

The last word there is "Young" (He's a player).
The next character (it's a separator with the value 00) needs to always be at 146B3.

4) You will find some words/phrases that are shown during you're playing a match, like "PRACTICE", "INJURED", etc.
Unfortunatelly, this part of the text is harder to change.
Notice that these words are in some other languages too (but not used really).
Here, you can't add characters in a word/phrase like before.
The program uses pointers to know where each phrase begins.
Fortunately, I have found some of these pointers.
See an example under the section Pointers.




6. Text as graphics
-------------------

You may need to write a word that needs more characters than the box they are appearing into can hold.
For example, the box in the main menu with the word "EVENTS", can hold up to 11 letters.
The greek word I wanted to use had 12 letters! Even if I could edit the text in the hex editor, it wouldn't appear correctly in the game.

So I had to "paint" the word I wanted using 11 characters.
I picked a series of unusable characters and I painted the word there.
I did that with Tile Molester, like I did with the new characters.
Let's say the first of them has the value 4D.
I couldn't type these characters in the hex editor, so I had to put in the values 4D 4E 4F 50 51 52 53 54 55 56 57 as if they were text!
(These values are just an example).

I can't see the word in the hex editor, but I can see it in the game menu just fine!

Avoid using the same values in the alphabets of the other sizes, as a word might appear using any of them.
In that case, you need to paint the word in all of them.
Also, you can't do that with words that appear during a match.
I had this problem with "Team A" and "Team B".
At first I painted them and they were shown fine in the menus, but they weren't showing at all during a match.


Especially with the small sized alphabet, you have to be very careful because it's confusing.
The tiles you see in Tile Molester are 8x8 pixels.
The small characters use 6x6 tiles.
The rest of the pixels are not used and must be black.
There is an example, "6x6.bmp", use if for words of 6 letters.
Don't paint on white, just ignore it.
After you have painted your word, paint all the white areas black.
The word probably won't be easily readable after you have done that, but it will be in the game.




7. Pointers
-----------

Pointers are values the program uses to know where to find text in the rom.
You can't change the beginning of that text without changing its pointer.
(To work with the pointers, you should work with Hex Workshop).

For example, the word "PRACTICE" is at the address 151B3.
Search upwards for the value B3 (the last two digits of this address). The cursor will go to offset 14C59.
This happens to be the address of the pointer for the word "PRACTICE"!
Experiment with this, change the value B3 to B4, save and play the game.
Select practice and see what it says instead of "PRACTICE".

That way you can change the beginning of these phrases. Their end is the character with the value 00.

The good thing is that you can use the space that has all the non-english phrases.




8. Editing graphics
-------------------

Using a tile editor won't help you with the graphics, we were lucky enough to be able to edit the alphabet.
I had another idea, I never had done this before but it worked...

Amiga programs use the IFF format, like most of the Amiga games.
So I found a way to extract IFF files from the rom.
That way I can edit them using a graphics editing program and then insert them back.

You should read my tutorial about IFF rom hacking and you will be able to edit most of the graphics in Kick off 2.




9. Web links
------------

Web pages about Kick off 2:

www.ko-gathering.com

Where to find the essential tools:

www.stud.ntnu.no/~kenth/tm (Tile Molester)
www.acdsystems.com         (ACDC)
www.viksoe.dk/adfview      (ADFView)
www.bpsoft.com             (Hex Workshop)
www.zophar.net             (The Amiga emulators, Thingy32, other hex editors)
amiga.supergamez.hu        (Deluxe Paint IV)
www.greekroms.net          (The greek translation of Kick off 2)




10. Credits
-----------

Most of the corrections in v.1.1 were made by Reham!

(c) 2002-2003 GreekRoms
(http://www.greekroms.net)
